home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Go64!
/
Go64_1999-08_1999_CSW_Side_A.d64
/
ewiger kalender
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
7KB
|
220 lines
5 ifi9=0theni9=1:i8=peek(186):ifpeek(648)<>204thenload"zeichensatz",i8,1
10 gosub59000:gosub6100
20 i7=1:i8=1
30 ifnottfthengosub1900:gosub5500:mr=r-1:gosub1950
40 br=mb:tf=0:gosub1600
50 i4=1:gosub1500:ifri=0then50
60 ifri=1thengosub1300:i7=i7+1:i8=1:i4=2:ifi7>mntheni7=1
70 ifri=2thengosub1300:i7=i7-1:i8=1:i4=2:ifi7=0theni7=mn
80 ifri=3theni8=i8+1:ifi8>hotheni8=1
90 ifri=4theni8=i8-1:ifi8=0theni8=ho
100 ifri=5theni6=br:gosub1300:gosub2000:zl=1:br=i6:goto30
110 oni4gosub1610,1600:goto50
999 end
1100 gosub1200:printk$(i5,0);:fori9=1tobr:printk$(i5,1);:next:printk$(i5,2)
1110 fori9=1toho:printtab(sp)k$(i5,3)left$(l$(0),br)k$(i5,5):next
1120 printtab(sp)k$(i5,6);:fori9=1tobr:printk$(i5,7);:next:printk$(i5,8);:return
1200 poke214,zl:poke211,sp:sys58640:return
1300 gosub1200:fori9=1toho+2:printtab(sp)left$(l$(1),br+2);:ifi9<ho+2thenprint
1310 next:return
1400 en$="":i9=0
1405 print"[164][157]";
1410 getx9$:ifx9$=""then1410
1420 ifx9$=chr$(13)then1480
1430 ifx9$=chr$(20)andi9>0thenprint" [157][157][164][157]";:i9=i9-1:en$=left$(en$,i9)
1440 ifx9$<" "orx9$>"[218]"then1410
1450 ifx9$>"_"andx9$<"[193]"then1410
1460 ifx9$=chr$(34)thenprintchr$(148)x9$chr$(20);
1470 en$=en$+x9$:printx9$;:i9=i9+1:iflg>i9then1405
1480 print" ";:return
1500 ri=0
1510 getx9$:ifx9$=""then1510
1520 ifx9$=""thenri=1
1530 ifx9$="[157]"thenri=2
1540 ifx9$=""thenri=3
1550 ifx9$="[145]"thenri=4
1560 ifx9$=chr$(13)thenri=5
1570 return
1600 zl=1:ho=mn%(i7):sp=28
1605 i5=0:gosub1100
1610 sp=sp+1:fori6=1toho:zl=zl+1:gosub1200:ifi6=i8thenprint"";
1620 printmn$(i7,i6)"[146]";:next:zl=1:sp=sp-1
1630 return
1700 zl=23:sp=0:gosub1200:printl$(0):printl$(0);:zl=zl-1:gosub1200:en$="[168]":lg=40:gosub1800
1710 zl=zl+1:gosub1200:printst$;:st$="":en$="":return
1800 fori9=1tolg:printen$;:next:return
1900 i5=0:zl=0:sp=0:br=25:ho=23:gosub1100
1905 zl=2:gosub1200:print"[171]";:fori9=1tobr:print"-";:next:print"[172]":zl=0:sp=sp+1
1915 st$=mo$(m)+" "+j$:gosub1710:fori4=1to6:zl=zl+2
1920 st$=left$(wt$(i4),2):gosub1710:next:zl=zl+2
1925 st$=left$(wt$(0),2):gosub1710:gosub5260
1930 return
1950 i5=ml%(m)+(m=2)*sj+1:r=r-1:ifr<0thenr=6
1955 i9=0:forsp=4to24step4:fori4=rto6:i9=i9+1:zl=i4*3+4:gosub1200
1960 ifi9=i5thensp=24:i4=6:goto1970
1965 printright$(str$(i9),2)
1970 next:r=0:next
1975 return
2000 ifi7<>1then2200
2010 oni8gosub5100,5150,5200,5250,5250,5300,5000,6000,4900
2200 return
4800 print"";:sp=0:en$="[160]":lg=39:i4=52263:forzl=0to24:gosub1200:gosub1800
4805 pokei4+40*zl,96:next:zl=0
4810 return
4900 gosub4800:zl=8:sp=8:br=22:ho=5:i5=3:gosub1100:zl=zl+3:sp=sp+1:gosub1200
4920 print"[193]uf [215]iedersehen!";
4940 zl=1:sp=0:gosub1200
4950 end
5000 gosub4800:zl=8:sp=9:br=20:ho=5:i5=3:gosub1100:zl=zl+2:sp=sp+1:gosub1200
5010 print"("mn$(i7,i8)")";
5020 zl=zl+2:gosub1200:print"[215]eiter mit [212]aste.";:lg=1:gosub1400
5040 zl=8:sp=9:br=20:ho=5:gosub1300
5050 return
5100 zl=18:sp=28:br=9:ho=4:i5=1:gosub1100:zl=zl+1:sp=sp+1:gosub1200
5110 print"[202]ahr?"
5115 zl=zl+2:gosub1200:lg=4:gosub1400:ifen$=""then5130
5120 j$=right$(" "+en$,4):j=val(j$)
5125 ifj<1orj>3299then5100
5130 zl=18:sp=28:br=9:ho=4:gosub1300:i8=i8+1
5135 return
5150 i4=m:zl=18:sp=28:br=9:ho=4:i5=1:gosub1100:zl=zl+1:sp=sp+1:gosub1200
5155 print"[205]onat?"
5160 zl=zl+2:gosub1200:lg=10:gosub1400
5165 ifen$=""then5190
5170 m=val(en$):ifm>0andm<13thenm$=mo$(m):goto5185
5175 i4=len(en$):fori9=1to12:ifleft$(mo$(i9),i4)=en$thenm=i9:m$=mo$(m):i9=12
5180 next
5185 ifm<1orm>12thenm=i4:goto5150
5190 zl=18:sp=28:br=9:ho=4:gosub1300:i8=i8+1
5195 return
5200 i6=ml%(m)+(m=2)*sj:i4=t:ifmr=-1thenmr=6
5205 zl=18:sp=28:br=9:ho=4:i5=1:gosub1100:zl=zl+1:sp=sp+1:gosub1200
5210 print"[212]ag?"
5215 zl=zl+2:gosub1200:lg=2:gosub1400:ifen$=""then5225
5220 t$=right$(" "+en$,2):t=val(t$):ift<1ort>i6thent=i4:goto5200
5225 gosub5500:ifr=0thenr=7
5230 zl=(r-1)*3+4:sp=int((mr+t-1)/7)*4+3-(t<10):gosub1200:print""t"[146]"
5235 gosub5260:zl=18:sp=28:br=9:ho=4:gosub1300:i8=i8+1:t=1:tf=-1:zl=1:sp=16
5240 gosub1200:en$=" ":gosub1800:sp=sp+2:gosub1200:printint(jd+.5)
5245 return
5250 md=1+(i8=5):return
5260 st$=mn$(1,4):ifmd=0thenst$=mn$(1,5):goto5275
5265 i5=0:ifj<1582or(j=1582andm<10)or(j=1582andm=10andt<15)theni5=1
5270 ifi5=1thenpoke646,2:st$=""+st$+" !"
5275 zl=14:sp=28:br=9:ho=1:i5=1:gosub1100:sp=sp+1:gosub1710:poke646,fc:print"[146]"
5280 return
5300 gosub5100:jd(0,0)=j:gosub5150:jd(0,1)=m:gosub5500:gosub1900:gosub1950
5305 gosub5200:jd(0,2)=t:jd(0,3)=jd
5310 gosub5100:jd(1,0)=j:gosub5150:jd(1,1)=m:gosub5500:gosub1900:gosub1950
5315 gosub5200:jd(1,2)=t:jd(1,3)=jd
5320 v1=jd(1,3):v2=jd(0,3):ifv1>v2thenv2=v1:v1=jd(0,3)
5325 zl=0:sp=16:gosub1710:en$=" ":lg=10:gosub1800
5330 i9=int(v2-v1+.5):st$=str$(i9)+" d":zl=0:sp=16:gosub1710:i8=6
5335 return
5500 sj=(j/400)=(int(j/400)):ifsjthen5515
5505 sj=(j/100)=(int(j/100)):ifsjthenifmd=1thensj=notsj:goto5515
5510 sj=(j/4)=(int(j/4))
5515 i5=-(sj*12):ifm>2theni5=0
5520 r=int((t/7-int(t/7))*7+.5)-1:ifr<0thenr=6
5525 i5=t1%(m+i5):v1=t2%(r,i5):i6=val(right$(j$,2)):i5=int(i6/6):
5530 fori9=0to6:fori4=i5toi5+1:ifi6=t3%(i9,i4)theni6=i9:i9=6:i4=i5+1
5535 next:next:i5=val(left$(j$,2)):ifi5<15thenmd=0:gosub5260
5536 ifmdthen5545
5540 i5=i5-int(i5/7)*7:goto5560
5545 fori9=0to6:fori4=0to4
5550 ift4%(i4,i9)=i5theni5=i9:i9=6:i4=4
5555 next:next
5560 v2=t5%(i6,i5):i4=v1+v2:r=int((i4/7-int(i4/7))*7+.5)-1:ifr<0thenr=6
5565 wt$=wt$(r)
5570 v1=0:i4=j:i5=m:ifm<3theni4=j-1:i5=m+12
5575 ifmd=1thenv2=val(left$(j$,2)):v1=2-v2+int(v2/4)
5580 jd=(365.25*(i4+4716))+(int(30.6001*(i5+1)))+t+v1-1524.5
5590 return
6000 gosub4800:zl=8:sp=9:br=20:ho=5:i5=3:gosub1100:zl=zl+1:sp=sp+2:gosub1200
6010 print"[164][197]wiger [203]alender";
6020 zl=zl+2:sp=sp+2:gosub1200:print"f@r die [199][207]64!"
6030 zl=zl+2:sp=sp-3:gosub1200:print"(c)1999";
6040 sp=sp+8:gosub1200:print"[193]rndt [196]ettke[144]";
6050 zl=zl-4:sp=sp+9:gosub1200:lg=1:gosub1400
6060 zl=8:sp=9:br=20:ho=5:gosub1300
6070 return
6100 zl=8:sp=5:br=29:ho=5:i5=0:gosub1100:zl=zl+1:sp=sp+1:gosub1200:i7=0
6105 print"[211]uche nach [210][212][195]-[213]hren..."
6110 zl=zl+2:gosub1200:print"[213]:":st$="":sp=sp+2
6115 fori8=8to16:poke144,0:poke780,i8:sys60684:poke782,0:sys60857:ifstthen6135
6120 gosub1200:printi8:open1,i8,15:print#1,"t-ra"
6125 get#1,en$:st$=st$+en$:ifst<>64then6125
6130 close1:ifval(st$)=0thendr$(i8-8)=st$:sp=sp+3:i7=i7+1
6135 st$="":gosub1200:print" ";:next
6140 zl=zl+2:sp=6:gosub1200
6145 ifi7=0thenprint"[203]eine [213]hr gefunden.";:lg=1:gosub1400:goto6195
6150 for i8=0to8:st$=dr$(i8):ifst$=""then6190
6155 zl=9:sp=6:lg=27:en$=" ":gosub1200:gosub1800:gosub1200:lg=1
6160 printst$:zl=13
6165 gosub1200:print"[213]hrzeit @bernehmen? (j/n) ";
6170 gosub1400:ifen$<>"j"anden$<>"n"then6165
6175 ifen$="n"then6190
6180 i8=8:m=val(mid$(st$,6,2)):j=val(mid$(st$,12,2)):ifj<90thenj=j+100
6185 j=1900+j:gosub5500
6190 next
6195 zl=8:sp=5:br=29:ho=5:gosub1300:return
59000 i9=0:i8=0:i7=0:i6=0:i5=0:i4=0:zl=0:sp=0:br=0:ho=0:x9$="":en$="":st$=""
59005 t=1:m=1:j=1999:sj=0:r=0:md=1:wt$="":v1=0:v2=0:tf=0:i3=0:jd=0
59010 read mn,sm,mb:dim mn$(mn,sm),mn%(mn),l$(1),k$(3,8),mo$(12),wt$(6)
59015 dim t1%(14),t2%(6,6),t3%(6,17),t4%(4,6),t5%(6,6),ml%(12),jd(1,3),dr$(8)
59020 fori9=1tomn:readmn$(i9,0):next
59025 fori8=1tomn:readmn%(i8):sm=mn%(i8):fori9=1tosm:readmn$(i8,i9):next:next
59030 fori9=0to3:fori8=0to8:readk$(i9,i8):next:next
59035 fori9=1to12:readmo$(i9):next:t$=str$(t):m$=mo$(m):j$=right$(str$(j),4)
59036 fori9=1to12:readml%(i9):next
59040 fori8=0to6:readwt$(i8):fori9=0to6:readt2%(i8,i9):next:next
59045 fori9=1to14:readt1%(i9):next
59050 fori8=0to6:fori9=0to17:readt3%(i8,i9):next
59055 fori9=0to6:readt5%(i8,i9):next:next
59060 fori8=0to4:fori9=0to6:readt4%(i8,i9):next:next
59070 poke56576,148:poke53272,59:poke648,204
59080 l$(0)=" ":lg=1
59085 l$(1)="[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]"
59090 fc=0 :fb=1 :fr=12:poke53281,fb:poke53280,fr:poke646,fc:print"[147]";
59095 gosub4800
59099 return
60000 data 1,9,9:rem anzahl menues,max. anzahl submenues, menuebreite
60010 data "[203][193][204][197][206][196][197][210]"
60030 data 9,"[202]ahr","[205]onat","[212]ag"
60040 data "[199]regor.","[202]ulian.","[193]bstand","[196]rucken"
60050 data "[186]ber...","[194]eenden"
60060 data"[167]","[168]","[169]","[165]"," ","[170]","[173]","[164]","[174]"
60070 data"[188]","[177]","[189]","[187]"," ","[184]","[190]","[178]","[191]"
60080 data"[182]","[183]","[180]","[182]"," ","[180]","[182]","[175]","[180]"
60090 data"[166]","[163]","[162]","[165]"," ","[182]","[220]","[161]","[221]"
60095 data "[202]anuar","[198]ebruar","[205]]rz","[193]pril","[205]ai","[202]uni","[202]uli","[193]ugust"
60096 data "[211]eptember","[207]ktober","[206]ovember","[196]ezember"
60097 data 31,28,31,30,31,30,31,31,30,31,30,31
61000 data "[211]onntag",6,5,2,1,7,3,4
61005 data "[205]ontag",7,6,3,2,1,4,5
61010 data "[196]ienstag",1,7,4,3,2,5,6
61015 data "[205]ittwoch",2,1,5,4,3,6,7
61020 data "[196]onnerstag",3,2,6,5,4,7,1
61025 data "[198]reitag",4,3,7,6,5,1,2
61030 data "[211]amstag",5,4,1,7,6,2,3
61035 data 0,2,2,1,4,5,1,3,6,0,2,6,1,3
61040 data 0,6,0,17,23,28,34,0,45,51,56,62,0,73,79,84,90,0
61045 data 7,6,5,4,3,2,1
61050 data 1,7,12,18,0,29,35,40,46,0,57,63,68,74,0,85,91,96
61055 data 1,7,6,5,4,3,2
61060 data 2,0,13,19,24,30,0,41,47,52,58,0,69,75,80,86,0,97
61065 data 2,1,7,6,5,4,3
61070 data 3,8,14,0,25,31,36,42,0,53,59,64,70,0,81,87,92,98
61075 data 3,2,1,7,6,5,4
61080 data 0,9,15,20,26,0,37,43,48,54,0,65,71,76,82,0,93,99
61085 data 4,3,2,1,7,6,5
61090 data 4,10,0,21,27,32,38,0,49,55,60,66,0,77,83,88,94,0
61095 data 5,4,3,2,1,7,6
61100 data 5,11,16,22,0,33,39,44,50,0,61,67,72,78,0,89,95,0
61105 data 6,5,4,3,2,1,7
61110 data 0,0,0,0,15,16,0
61115 data 17,0,18,0,19,20,0
61120 data 21,0,22,0,23,24,0
61125 data 25,0,26,0,27,28,0
61130 data 29,0,30,0,31,32,0